//请求接口函数
export function fetch(method, url, data, loading, tokenFlag = true, isData = true, responseType) {
  return new Promise((resolve, reject) => {
    //显示加载动画
    if (loading) uni.showLoading();
    // //添加token
    let token = uni.getStorageSync("token");
    let header = {};
    // console.log(token);
    if (tokenFlag && token) {
      header = {
        Authorization: "Bearer " + token,
      };
    }
    //发起请求
    uni.request({
      url,
      method,
      data,
      header,
      // header: {
      // 	// 数据被编码为名称/值对
      // 	//"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
      // },
      success: (res) => {
        if (res && res.data && res.data.message == "登录已过期，请重新登录") {
          uni.navigateTo({
            url: "/pages/system/login/index",
          });
        }
        if (isData) resolve(res.data);
        else resolve(res);
      },
      fail: (err) => {
        return uni.showToast({ title: "服务器繁忙稍后重试", icon: "none" });
        reject(err);
      },
      complete: () => {
        //结束加载动画
        if (loading) uni.hideLoading();
      },
    });

    // uni.addInterceptor("request", {
    //   invoke(args) {
    //     console.log("kkkkkkkkkkkkkkkkk");
    //     const { data, method } = args;
    //     if (method && method.toUpperCase() === "GET") {
    //       if (data && typeof data === "object") {
    //         Object.keys(data).forEach((item) => {
    //           let value = data[item];
    //           let str = "";
    //           if (Array.isArray(value)) {
    //             str = [];
    //             value.forEach((ait, index) => {
    //               str.push(`${item}[${index}]=${ait}`);
    //             });
    //             str = str.join("&");
    //           } else if (typeof value === "object") {
    //             str = item + "=" + JSON.stringify(value);
    //           } else {
    //             str = item + "=" + value;
    //           }
    //           if (args.url && args.url.includes("?")) {
    //             args.url = args.url + "&" + str;
    //           } else {
    //             args.url = args.url + "?" + str;
    //           }
    //         });
    //       }
    //     }
    //   },
    //   success(args) {},
    //   fail(err) {},
    //   complete(res) {},
    // });
  });
}

export function upload(url, data, loading) {
  return new Promise((resolve, reject) => {
    //显示加载动画
    if (loading) uni.showLoading();

    //获取token
    // let token = wx.getStorageSync("token")

    // let obj = { token, }

    // //添加token
    // Object.assign(data,obj)

    //发起请求
    uni.request({
      url,
      method: "POST",
      data,
      headers: {
        "Content-Type": "multipart/form-data",
      },
      success: (res) => {
        resolve(res.data);
      },
      fail: (err) => {
        reject(err);
      },
      complete: () => {
        //结束加载动画
        if (loading) uni.hideLoading();
      },
    });
  });
}

// export default {
// 	get: function (url, params, loading){
// 		return fetch('GET', url, params, loading)
// 	},
// 	post: function (url, params, loading){
// 		return fetch('POST', url, params, loading)
// 	},
// 	postUpload:function (url,params,Loading) {
// 		return upload(url,params,Loading)
// 	}
// }
